package com.svavo.json;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.svavo.model.PaperSet;
import com.svavo.model.Student;
import com.svavo.model.Study;

import java.util.List;

/**
 * JSON 解析验证
 */
public class JsonTest {

    public static void main(String[] args) {
        //test1();
        //test2();
        //test3();
        test4();
    }

    private static void test1(){
        String jsonStr = "{'cat':'it','language':[{'id':1,'ide':'eclipse','name':'Java'},{'id':2,'ide':'XCode','name':'Swift'},{'id':3,'ide':'Visual Stdio','name':'C#'}],'pop':true}";
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        JSONArray jsonArray = jsonObject.getJSONArray("language");
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject object = jsonArray.getJSONObject(i);
            Student stu = JSON.toJavaObject(object, Student.class);
            System.out.println(stu.toString());
        }
    }

    private static void test2(){
        String jsonStr = "{'cat':'it','language':[{'id':1,'ide':'eclipse','name':'Java'},{'id':2,'ide':'XCode','name':'Swift'},{'id':3,'ide':'Visual Stdio','name':'C#'}],'pop':true}";
        Study study = JSON.parseObject(jsonStr, Study.class);
        System.out.println(study.toString());
    }

    private static void test3(){
        String jsonStr = "{'cat':'it','language':[{'id':1,'ide':'eclipse','name':'Java'},{'id':2,'ide':'XCode','name':'Swift'},{'id':3,'ide':'Visual Stdio','name':'C#'}],'pop':true}";
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        JSONArray jsonArray = jsonObject.getJSONArray("language");
        List<Student> students = JSON.parseArray(jsonArray.toJSONString(), Student.class);
        System.out.println(students);
    }

    private static void test4(){
        JSONObject itemJson = new JSONObject();
        itemJson.put("openTime", "07-12");
        itemJson.put("closeTime", "20-12");
        //itemJson.put("deviceName", "202006160030");
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("messageID",78);
        jsonObject.put("facepapercfg",itemJson);
        String jsonString = jsonObject.toJSONString();

        PaperSet paperSet = JSON.parseObject(jsonString, PaperSet.class);
        System.out.println(paperSet);
    }
}
